Many programming languages provide mechanisms in which one or more arguments in a function call can be associated with corresponding parameters in a function definition by matching each argument position in an argument list with the corresponding parameter position in a parameter list. The Visual C#® programming language, by Microsoft Corporation, includes a “named argument” feature that enables an association between an argument and a parameter to be specified by associating the argument with the parameter's name rather than with the parameter's position in the parameter list. This allows arguments to be listed in an order other than the corresponding parameter list order.
Visual C# also includes an optional argument feature, in which a function can specify that one or more parameters are optional. A default value for each optional parameter is specified. A call site may omit an argument for any optional parameter. The compiler recognizes omitted optional arguments, and inserts the specified default value.